home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1980-01-01 | 12.9 KB | 314 lines |
- 10 REM player program pc-pooler:player data maintenance, stats printing ytd totals
- 20 ON ERROR GOTO 2920
- 25 IF O9=0 THEN ERROR 101
- 26 SVO9=O9:SVDT$=DT$:SVGM$=GM$:SVLPL=LPL
- 30 KEY OFF
- 40 MNP=50:REM maximum number of players
- 50 DIM NM$(MNP),PSTAT%(7,MNP),NM2$(MNP),PS2%(8,MNP):BLNK$=" ":BLNK2$=" "
- 60 GOSUB 210:REM read in player information, set np (number of players)
- 70 CHNG=0:IF NP>0 THEN TOP=1:ELSE TOP=0
- 80 KEY 1,"Q":KEY 2,"P":KEY 3,"D":KEY 4,"":KEY 5,"A":KEY 6,"H":KEY 7,"U":KEY 8,"V":KEY 9,"B":KEY 10,"F"
- 90 GOSUB 290:REM main screen print, options
- 100 IF CHNG=0 THEN 200
- 110 CLS:PRINT "Save changes made this session?"
- 120 LOCATE 2,1:PRINT "Hit Y or N please..."
- 130 GOSUB 1620:REM get a character
- 140 IF C$="N" THEN 200:ELSE IF C$<>"Y" THEN 120
- 141 WHILE NM$(NP)=BLNK2$
- 142 NP=NP-1
- 143 WEND
- 150 OPEN "PLAYER.DAT" FOR OUTPUT AS #1:PRINT#1,NP
- 160 FOR I=1 TO NP
- 170 PRINT#1,PSTAT%(1,I);",";PSTAT%(2,I);",";PSTAT%(3,I);",";PSTAT%(4,I);",";PSTAT%(5,I);",";PSTAT%(6,I);",";PSTAT%(7,I);",";NM$(I)
- 180 NEXT I
- 190 CLOSE#1
- 200 O9=SVO9:DT$=SVDT$:GM$=SVGM$:LPL=SVLPL:COMMON O9,LPL,DT$,GM$:CLS:PRINT"Reading main menu...":CHAIN"pooler"
- 210 REM read in player info
- 220 OPEN "PLAYER.DAT" FOR INPUT AS #1:INPUT#1,NP:IF NP>MNP THEN ERROR 150
- 230 FOR I7=1 TO NP
- 240 INPUT#1,PSTAT%(1,I7),PSTAT%(2,I7),PSTAT%(3,I7),PSTAT%(4,I7),PSTAT%(5,I7),PSTAT%(6,I7),PSTAT%(7,I7),NM$(I7):NM$(I7)=LEFT$(NM$(I7)+BLNK2$,20)
- 250 NEXT I7
- 260 CLOSE#1
- 270 CNF$=MID$(GM$,2,1)
- 280 RETURN
- 290 REM main screen routine and menu
- 300 CLS:IF NP=0 THEN PRINT"No players in file.":GOTO 350:ELSE PRINT"P# Player Name"
- 310 BOT=TOP+19:IF BOT>NP THEN BOT=NP
- 320 FOR I=TOP TO BOT
- 330 PRINT USING "##";I;:PRINT ". ";NM$(I)
- 340 NEXT I
- 350 OLDTOP=TOP
- 360 LOCATE 22,1:PRINT "Command?====> ";
- 370 LOCATE 23,1:PRINT "F1=Quit F2=Print F3=Delete F5=Add ";
- 380 LOCATE 24,1:PRINT "F6=Help F7=Update F8=View F9=B F10=F";
- 390 LOCATE 25,1:PRINT LEFT$(MSG$+BLNK$,39);
- 400 GOSUB 1620
- 410 MSG$="Please enter command (Q to Quit)."
- 420 IF C$="Q" THEN RETURN
- 430 IF C$="F" THEN TOP=TOP+19:IF TOP>NP THEN TOP=NP:C$="0"
- 440 IF C$="B" THEN TOP=TOP-19:IF TOP<NP THEN TOP=1:C$="0"
- 450 IF C$="H" THEN GOSUB 1730:C$="0"
- 460 IF C$="A" THEN GOSUB 520:C$="0"
- 470 IF C$="D" THEN GOSUB 740:C$="0"
- 480 IF C$="U" THEN GOSUB 910:C$="0"
- 490 IF C$="V" THEN GOSUB 1360:C$="0"
- 500 IF C$="P" THEN GOSUB 2400
- 510 IF OLDTOP=TOP THEN 360:ELSE 300
- 520 REM add routine
- 530 LOCATE 22,15:PRINT "Add a player. ";
- 540 FOR I=1 TO NP:IF NM$(I)=BLNK2$ THEN 570
- 550 NEXT I
- 560 IF NP<MNP THEN I=NP+1:ELSE MSG$="No room to add a player.":RETURN
- 570 PLN=I
- 580 LOCATE 24,1:PRINT BLNK$;:LOCATE 24,1:PRINT"Enter player name above.";
- 590 LOCATE 25,1:PRINT BLNK$;:LOCATE 25,1:PRINT"(Just press ENTER to cancel).";
- 600 LOCATE 23,1:PRINT BLNK$;:LOCATE 23,1:INPUT A$:IF LEN(A$)=0 THEN 730
- 610 A$=LEFT$(A$+BLNK2$,20):IF A$=BLNK2$ THEN 730
- 620 GOSUB 1670
- 630 FOR I=1 TO NP:IF NM$(I)=A$ THEN 660
- 640 NEXT I
- 650 GOTO 670
- 660 MSG$="Duplicate name exists.":TOP=I:RETURN
- 670 LOCATE 23,1:PRINT USING "##";PLN;:PRINT ". ";A$;
- 680 LOCATE 24,1:PRINT BLNK$;:LOCATE 24,1:PRINT"Verify name OK---";
- 690 LOCATE 25,1:PRINT BLNK$;:LOCATE 25,1:PRINT"(Hit Y to accept, N to cancel).";
- 700 GOSUB 1620:IF C$="N" THEN 730:ELSE IF C$<>"Y" THEN 700
- 710 IF PLN>NP THEN NP=NP+1
- 720 NM$(PLN)=A$:PSTAT%(1,PLN)=0:PSTAT%(2,PLN)=0:PSTAT%(3,PLN)=0:PSTAT%(4,PLN)=0:PSTAT%(5,PLN)=0:PSTAT%(6,PLN)=0:PSTAT%(7,PLN)=0:CHNG=1:MSG$="Add complete.":TOP=PLN:OLDTOP=0:RETURN
- 730 MSG$="Add cancelled.":RETURN
- 740 REM delete routine
- 750 LOCATE 24,1:PRINT BLNK$;:LOCATE 24,1:PRINT"Enter Player# to delete.";
- 760 LOCATE 25,1:PRINT BLNK$;:LOCATE 25,1:PRINT"(1 -";NP;", press ENTER to cancel).";
- 770 LOCATE 23,1:PRINT BLNK$;:LOCATE 23,1:INPUT A$:IF LEN(A$)=0 THEN 900
- 780 DP%=VAL(A$):IF DP%=0 THEN 900:ELSE IF (DP%<1)OR(DP%>NP) THEN 770
- 790 IF NM$(DP%)=BLNK2$ THEN MSG$="Player "+A$+" already blank.":RETURN
- 800 CLS:PRINT USING "Player ##";DP%:PRINT "Name: ";NM$(DP%)
- 810 PRINT
- 820 PRINT USING "Total Weeks In: #####";PSTAT%(1,DP%)
- 830 PRINT USING "Total Points: #####";PSTAT%(2,DP%)
- 840 PRINT USING "Total Won: #####";PSTAT%(3,DP%)
- 850 PRINT USING "Total Lost: #####";PSTAT%(4,DP%)
- 860 PRINT:PRINT:PRINT "Hit Y to verify delete,"
- 870 PRINT "Or N to cancel delete."
- 880 GOSUB 1620:IF C$="N" THEN OLDTOP=-1:GOTO 900:ELSE IF C$<>"Y" THEN 880
- 890 CHNG=1:NM$(DP%)=BLNK2$:MSG$="Delete complete.":OLDTOP=-1:RETURN
- 900 MSG$="Delete cancelled.":RETURN
- 910 REM update routine to adjust totals, name spelling
- 920 LOCATE 24,1:PRINT BLNK$;:LOCATE 24,1:PRINT"Enter Player# to update.";
- 930 LOCATE 25,1:PRINT BLNK$;:LOCATE 25,1:PRINT"(1 -";NP;", press ENTER to cancel).";
- 940 LOCATE 23,1:PRINT BLNK$;:LOCATE 23,1:INPUT A$:IF LEN(A$)=0 THEN 1350
- 950 DP%=VAL(A$):IF DP%=0 THEN 1350:ELSE IF (DP%<1)OR(DP%>NP) THEN 940
- 960 IF NM$(DP%)=BLNK2$ THEN MSG$="Player "+A$+" is blank. Try Add.":RETURN
- 970 N$=NM$(DP%):PS1=PSTAT%(1,DP%):PS2=PSTAT%(2,DP%):PS3=PSTAT%(3,DP%):PS4=PSTAT%(4,DP%):CHNG2=0
- 980 CLS:PRINT USING "Player ##";DP%:PRINT
- 990 PRINT "1. Name: ";N$
- 1000 PRINT USING "2. Total Weeks In: #####";PS1
- 1010 PRINT USING "3. Total Points: #####";PS2
- 1020 PRINT USING "4. Total Won: #####";PS3
- 1030 PRINT USING "5. Total Lost: #####";PS4
- 1040 LOCATE 10,1:PRINT BLNK$;:LOCATE 10,1:PRINT"Enter Item# to change.";
- 1050 LOCATE 11,1:PRINT BLNK$;:LOCATE 11,1:PRINT"(1 - 5, 0 to end).";
- 1060 LOCATE 9,1:PRINT BLNK$;:LOCATE 9,1:INPUT A$:IF LEN(A$)=0 THEN 1060
- 1070 CH%=VAL(A$):IF CH%=0 THEN 1290:ELSE IF (CH%<1)OR(CH%>5) THEN 1060
- 1080 ON CH% GOTO 1090,1130,1170,1210,1250
- 1090 LOCATE 24,1:PRINT BLNK$;:LOCATE 24,1:PRINT"Enter new name above.";
- 1100 LOCATE 25,1:PRINT BLNK$;:LOCATE 25,1:PRINT"(Hit ENTER to cancel).";
- 1110 LOCATE 23,1:PRINT BLNK$;:LOCATE 23,1:INPUT A$:IF LEN(A$)=0 THEN 980
- 1120 GOSUB 1670:A$=LEFT$(A$+BLNK2$,20):IF (A$=BLNK2$)OR(A$=N$) THEN 980:ELSE N$=A$:CHNG2=1:GOTO 980
- 1130 LOCATE 24,1:PRINT BLNK$;:LOCATE 24,1:PRINT"Enter total weeks.";
- 1140 LOCATE 25,1:PRINT BLNK$;:LOCATE 25,1:PRINT"(Hit ENTER to cancel).";
- 1150 LOCATE 23,1:PRINT BLNK$;:LOCATE 23,1:INPUT A$:IF LEN(A$)=0 THEN 980
- 1160 CHNG2=1:PS1=VAL(A$):GOTO 980
- 1170 LOCATE 24,1:PRINT BLNK$;:LOCATE 24,1:PRINT"Enter total points.";
- 1180 LOCATE 25,1:PRINT BLNK$;:LOCATE 25,1:PRINT"(Hit ENTER to cancel).";
- 1190 LOCATE 23,1:PRINT BLNK$;:LOCATE 23,1:INPUT A$:IF LEN(A$)=0 THEN 980
- 1200 CHNG2=1:PS2=VAL(A$):GOTO 980
- 1210 LOCATE 24,1:PRINT BLNK$;:LOCATE 24,1:PRINT"Enter total games won.";
- 1220 LOCATE 25,1:PRINT BLNK$;:LOCATE 25,1:PRINT"(Hit ENTER to cancel).";
- 1230 LOCATE 23,1:PRINT BLNK$;:LOCATE 23,1:INPUT A$:IF LEN(A$)=0 THEN 980
- 1240 CHNG2=1:PS3=VAL(A$):GOTO 980
- 1250 LOCATE 24,1:PRINT BLNK$;:LOCATE 24,1:PRINT"Enter total games lost.";
- 1260 LOCATE 25,1:PRINT BLNK$;:LOCATE 25,1:PRINT"(Hit ENTER to cancel).";
- 1270 LOCATE 23,1:PRINT BLNK$;:LOCATE 23,1:INPUT A$:IF LEN(A$)=0 THEN 980
- 1280 CHNG2=1:PS4=VAL(A$):GOTO 980
- 1290 OLDTOP=-1:IF CHNG2=0 THEN MSG$="No changes made.":RETURN
- 1300 PRINT:PRINT "Hit Y to verify changes,"
- 1310 PRINT "Or N to cancel update."
- 1320 GOSUB 1620:IF C$="N" THEN 1340:ELSE IF C$<>"Y" THEN 1320
- 1330 NM$(DP%)=N$:PSTAT%(1,DP%)=PS1:PSTAT%(2,DP%)=PS2:PSTAT%(3,DP%)=PS3:PSTAT%(4,DP%)=PS4:CHNG=1:MSG$="Update complete.":RETURN
- 1340 MSG$="Update cancelled.":RETURN
- 1350 MSG$="Update cancelled.":RETURN
- 1360 REM view routine
- 1370 QZS=SPOS
- 1380 IF NP=0 THEN MSG$="No player information to view.":RETURN
- 1390 IF NP=1 THEN SPOS=1:GOTO 1440
- 1400 LOCATE 24,1:PRINT BLNK$;:LOCATE 24,1:PRINT"Enter starting player #.";
- 1410 LOCATE 25,1:PRINT BLNK$;:LOCATE 25,1:PRINT"(1 -";NP;"or press ENTER to cancel).";
- 1420 LOCATE 23,1:PRINT BLNK$;:LOCATE 23,1:INPUT A$:IF LEN(A$)=0 THEN 1610
- 1430 SPOS=VAL(A$):IF (SPOS<1)OR(SPOS>NP) THEN 1420
- 1440 WHILE SPOS<=NP
- 1450 A$=NM$(SPOS):IF A$=BLNK2$ THEN 1580
- 1460 CLS:PRINT USING "Player ##";SPOS:PRINT "Name: ";A$
- 1470 PRINT
- 1480 PRINT USING "Total Weeks In: #####";PSTAT%(1,SPOS)
- 1490 PRINT USING "Total Points: #####";PSTAT%(2,SPOS)
- 1500 PRINT USING "Total Won: #####";PSTAT%(3,SPOS)
- 1510 PRINT USING "Total Lost: #####";PSTAT%(4,SPOS)
- 1520 PRINT USING "Week Points: #####";PSTAT%(5,SPOS)
- 1530 PRINT USING "Week Won: #####";PSTAT%(6,SPOS)
- 1540 PRINT USING "Week Lost: #####";PSTAT%(7,SPOS)
- 1550 PRINT:PRINT:PRINT "Hit any key to continue,"
- 1560 PRINT "Or E to exit view."
- 1570 GOSUB 1620:IF C$="E" THEN 1600
- 1580 SPOS=SPOS+1
- 1590 WEND
- 1600 MSG$="View complete.":OLDTOP=-1:SPOS=QZS:RETURN
- 1610 MSG$="View cancelled.":SPOS=QZS:RETURN
- 1620 REM get a character
- 1630 C$=INKEY$:IF LEN(C$)=0 THEN 1630
- 1650 IF (C$>="a")AND(C$<="z") THEN C$=CHR$(ASC(C$)-32)
- 1660 RETURN
- 1670 IF LEN(A$)=0 THEN RETURN:ELSE C1$=""
- 1680 FOR C1=1 TO LEN(A$)
- 1690 C2$=MID$(A$,C1,1):IF (C2$>="a")AND(C2$<="z") THEN C2$=CHR$(ASC(C2$)-32)
- 1700 C1$=C1$+C2$
- 1710 NEXT C1
- 1720 A$=C1$:RETURN
- 1730 REM help routine
- 1740 OLDTOP=-1
- 1750 CLS:PRINT "Player File Maintenance Information"
- 1760 PRINT
- 1770 PRINT"This module may be used to display and"
- 1780 PRINT"print player information as well as add"
- 1790 PRINT"players to the game, delete players who"
- 1800 PRINT"are no longer playing, or modify player"
- 1810 PRINT"statistics and/or name spellings."
- 1820 PRINT
- 1830 PRINT"You may select the following options"
- 1840 PRINT"by hitting the appropriate function"
- 1850 PRINT"keys (i.e., F1, F2) or hitting the"
- 1860 PRINT"first letter of the command that you":PRINT"want."
- 1870 PRINT
- 1880 PRINT"Quit - F1 - This option will take you"
- 1890 PRINT" out of this module. If you made "
- 1900 PRINT" any data changes, you must enter"
- 1910 PRINT" a verification that you want the"
- 1920 PRINT" changes permanently saved."
- 1930 GOSUB 2390:IF C$="E" THEN RETURN
- 1940 PRINT"Print - F2 - This option will let you"
- 1950 PRINT" produce a hard-copy listing of"
- 1960 PRINT" player statistics, with a sort"
- 1970 PRINT" on points or games won if desired."
- 1980 PRINT" This can only be done when a"
- 1990 PRINT" printer is available.":PRINT
- 2000 PRINT"Delete - F3 - This option will let you"
- 2010 PRINT" remove player data for a person"
- 2020 PRINT" who is no longer playing (to allow"
- 2030 PRINT" room for another player)."
- 2040 PRINT" You will be prompted for a player"
- 2050 PRINT" number and final verification."
- 2060 PRINT
- 2070 PRINT"Add - F5 - This option will allow you"
- 2080 PRINT" to add a player to the game. You"
- 2090 PRINT" will be asked for the name and"
- 2100 PRINT" to verify the spelling. You can't"
- 2110 PRINT" add a player with exactly the same"
- 2120 PRINT" name(entered) as one already in."
- 2130 PRINT" All statistics for the new player"
- 2140 PRINT" are set to zero (0)."
- 2150 GOSUB 2390:IF C$="E" THEN RETURN
- 2160 PRINT"Help - F6 - This option will re-display"
- 2170 PRINT" these help screens.":PRINT
- 2180 PRINT"Update - F7 - This option will allow"
- 2190 PRINT" you to make data changes (i.e.,"
- 2200 PRINT" name, point totals). You will be"
- 2210 PRINT" asked for player#, then the info"
- 2220 PRINT" will be displayed. You can then"
- 2230 PRINT" make changes. Upon exit you must"
- 2240 PRINT" verify that changes are applied."
- 2250 PRINT
- 2260 PRINT"View - F8 - This option will allow"
- 2270 PRINT" you to display player data in"
- 2280 PRINT" a full-screen mode and scroll"
- 2290 PRINT" forward in the file. You will"
- 2300 PRINT" be prompted for the player you"
- 2310 PRINT" want to start at."
- 2320 PRINT
- 2330 PRINT"Back - F9 - Scroll back when"
- 2340 PRINT" looking at player list."
- 2350 PRINT
- 2360 PRINT"Forward - F10 - Scroll forward when"
- 2370 PRINT" looking at player list."
- 2380 GOTO 2391
- 2390 LOCATE 25,1:PRINT"Press E to End, any key to go on.";:GOSUB 1620:CLS:RETURN
- 2391 LOCATE 25,1:PRINT"Press any key to go on.";:GOSUB 1620:CLS:RETURN
- 2400 REM printthe list...no selection...option to sort on y-t-d record
- 2410 IF NP=0 THEN MSG$="No players in list.":GOTO 2900
- 2420 CLS:PRINT"Player Listing - YTD Results":PRINT
- 2430 NP2=0
- 2440 FOR Z2=1 TO NP:IF NM$(Z2)=BLNK2$ THEN 2470
- 2450 NP2=NP2+1:NM2$(NP2)=NM$(Z2):PS2%(1,NP2)=PSTAT%(1,Z2):PS2%(2,NP2)=PSTAT%(2,Z2):PS2%(3,NP2)=PSTAT%(3,Z2):PS2%(4,NP2)=PSTAT%(4,Z2):PS2%(5,NP2)=Z2
- 2460 PS2%(6,NP2)=PSTAT%(5,Z2):PS2%(7,NP2)=PSTAT%(6,Z2):PS2%(8,NP2)=PSTAT%(7,Z2)
- 2470 NEXT Z2
- 2480 PRINT"Do you want the output sorted":IF CNF$="Y" THEN PRINT "by total confidence points?":ELSE PRINT"by total games won?"
- 2490 PRINT:PRINT"Hit Y to sort, or N to leave":PRINT"in player # order.":PRINT
- 2500 GOSUB 1620:IF C$="N" THEN PRINT"Unsorted...":GOTO 2630:ELSE IF C$<>"Y" THEN 2500
- 2510 PRINT"Sorting..."
- 2520 IF CNF$="Y" THEN STKEY=2:ELSE STKEY=3
- 2530 FOR S1=1 TO NP2-1
- 2540 MXV=PS2%(STKEY,S1):MXP=S1
- 2550 FOR S2=S1+1 TO NP2
- 2560 IF PS2%(STKEY,S2)<=MXV THEN 2580
- 2570 MXV=PS2%(STKEY,S2):MXP=S2
- 2580 NEXT S2
- 2590 IF MXP=S1 THEN 2620:ELSE S2=MXP
- 2600 SWAP PS2%(1,S2),PS2%(1,S1):SWAP PS2%(2,S2),PS2%(2,S1):SWAP PS2%(3,S2),PS2%(3,S1):SWAP PS2%(4,S2),PS2%(4,S1):SWAP PS2%(5,S2),PS2%(5,S1):SWAP NM2$(S2),NM2$(S1)
- 2610 SWAP PS2%(6,S2),PS2%(6,S1):SWAP PS2%(7,S2),PS2%(7,S1):SWAP PS2%(8,S2),PS2%(8,S1)
- 2620 NEXT S1
- 2630 SRT$=C$:PRINT:PRINT"Enter number of copies below,":PRINT"Or 0 to cancel print."
- 2640 INPUT A$:CPYS%=VAL(A$):IF CPYS%<1 THEN MSG$="Print cancelled.":GOTO 2900
- 2650 PRINT:PRINT"Hit P when printer ready,":PRINT"Or Q to cancel print."
- 2660 GOSUB 1620:IF C$="Q" THEN MSG$="Print cancelled.":GOTO 2900:ELSE IF C$<>"P" THEN 2660
- 2670 FOR ZQ3=1 TO CPYS%
- 2680 LPRINT:LPRINT:LPRINT:LPRINT"Player List ";
- 2690 IF SRT$="N" THEN LPRINT:GOTO 2710
- 2700 LPRINT"- Sorted By ";:IF STKEY=2 THEN LPRINT"Total Points":ELSE LPRINT"Total Games Won"
- 2710 LPRINT
- 2720 LPRINT"No.";TAB(5);"Player";TAB(25);"Weeks";TAB(32);"Y-T-D";TAB(39);"Y-T-D";TAB(45);"Y-T-D";TAB(52);"Week";TAB(58);"Week";TAB(63);"Week"
- 2730 LPRINT TAB(5);"Name";TAB(25);"Played";TAB(32);"Points";TAB(40);"Won";TAB(45);"Lost";TAB(51);"Points";TAB(58);"Won";TAB(63);"Lost"
- 2740 LPRINT
- 2750 FOR Z2=1 TO NP2
- 2760 LPRINT USING "##";PS2%(5,Z2);:LPRINT".";
- 2770 LPRINT TAB(5);NM2$(Z2);TAB(26);
- 2780 IF PS2%(1,Z2)=0 THEN LPRINT"---";:ELSE LPRINT USING "###";PS2%(1,Z2);
- 2790 LPRINT TAB(33);:LPRINT USING "####";PS2%(2,Z2);
- 2800 LPRINT TAB(40);:LPRINT USING "###";PS2%(3,Z2);
- 2810 LPRINT TAB(46);:LPRINT USING "###";PS2%(4,Z2);
- 2820 LPRINT TAB(52);:LPRINT USING "####";PS2%(6,Z2);
- 2830 LPRINT TAB(58);:LPRINT USING "###";PS2%(7,Z2);
- 2840 LPRINT TAB(64);:LPRINT USING "###";PS2%(8,Z2)
- 2850 NEXT Z2
- 2860 NLL=LPL-((NP2+8) MOD LPL)
- 2870 FOR ZQ2=1 TO NLL:LPRINT:NEXT ZQ2
- 2880 NEXT ZQ3
- 2890 MSG$="Print Complete."
- 2900 OLDTOP=-1:RETURN
- 2910 MSG$="Print cancelled.":OLDTOP=-1:RETURN
- 2920 REM error handling routines
- 2930 PRINT:IF ERL=220 AND ERR=53 THEN PRINT"PLAYERS data not found on logged drive.":NP=0:GOSUB 3040:RESUME 270
- 2940 IF (ERL=220 OR ERL=240) AND (ERR=24 OR ERR=25 OR ERR=62 OR ERR=71 OR ERR=72) THEN PRINT"Error reading PLAYER on logged drive.":ELSE GOTO 2960
- 2950 GOSUB 3020:CLOSE#1:IF C$="R" THEN RESUME 220:ELSE RESUME 200
- 2960 IF (ERL=150 OR ERL=170) AND (ERR=24 OR ERR=25 OR ERR=53 OR ERR=61 OR ERR=70 OR ERR=71 OR ERR=72) THEN 2970:ELSE 2980
- 2970 PRINT"Error writing PLAYER on logged drive.":GOSUB 3020:IF C$="R" THEN RESUME 150:ELSE RESUME 200
- 2980 IF ERL=200 AND (ERR=53 OR ERR=71 OR ERR=72) THEN 2990:ELSE 3000
- 2990 PRINT"Invalid number of players in":PRINT"player file. Restore backup":PRINT"and re-try.":GOSUB 3040:SYSTEM
- 3000 IF ERR=27 OR ERR=24 OR ERR=25 THEN PRINT"Printer error.":GOSUB 3020:IF C$="R" THEN RESUME:ELSE RESUME 2910
- 3001 IF ERR<>101 THEN 3005
- 3002 CLS:PRINT"This program must be accessed via":PRINT"the POOLER program (main menu).":GOSUB 3040:SYSTEM
- 3005 IF ERR<>150 THEN 3010
- 3006 CLS:PRINT"Number of players in file":PRINT"invalid. Restore old file":PRINT"and re-try.":GOSUB 3040:SYSTEM
- 3010 PRINT"Irrecoverable error#";ERR:ON ERROR GOTO 0
- 3020 PRINT"Press R to re-try or Q to quit."
- 3030 GOSUB 1620:IF C$="R" OR C$="Q" THEN RETURN:ELSE GOTO 3020
- 3040 FOR I=1 TO 400:J7=I*2:NEXT I:RETURN:REM delay for messages
-